package com.ck.common.model;

/**
 * @author LinQiang
 * @version 1.0
 * @Description 节目下载下发状态表
 * @date 2019/4/29 14:24
 **/
public class ProgramDownload {
    private Long programDownloadId;

    /**
     * 终端唯一序列号
     */
    private String deviceCode;

    /**
     * 节目版本号
     */
    private String programVersion;

    /**
     * 下载状态（0:下载成功 1:未开始 2:下载中，3下载失败）
     */
    private Integer downloadStatus;

    /**
     * 更新时间
     */
    private Long updateTime;

    /**
     * 数据状态（0正常，1逻辑删除）
     */
    private Integer dataStatus;

    /**
     * 下载失败原因（多次提交记录最后一次失败原因）
     */
    private String downloadFailReason;

    /**
     * 允许最晚发送成功时间（终端开始调用下载接口）
     */
    private Long allowSuccessPushLatestTime;

    /**
     * 发送状态: 0:发送成功 1:发送中 2:发送失败
     */
    private Integer pushStatus;

    public ProgramDownload(Long programDownloadId, String deviceCode, String programVersion, Integer downloadStatus, Long updateTime, Integer dataStatus, String downloadFailReason, Long allowSuccessPushLatestTime, Integer pushStatus) {
        this.programDownloadId = programDownloadId;
        this.deviceCode = deviceCode;
        this.programVersion = programVersion;
        this.downloadStatus = downloadStatus;
        this.updateTime = updateTime;
        this.dataStatus = dataStatus;
        this.downloadFailReason = downloadFailReason;
        this.allowSuccessPushLatestTime = allowSuccessPushLatestTime;
        this.pushStatus = pushStatus;
    }

    public ProgramDownload() {
        super();
    }

    public Long getProgramDownloadId() {
        return programDownloadId;
    }

    public void setProgramDownloadId(Long programDownloadId) {
        this.programDownloadId = programDownloadId;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getProgramVersion() {
        return programVersion;
    }

    public void setProgramVersion(String programVersion) {
        this.programVersion = programVersion;
    }

    public Integer getDownloadStatus() {
        return downloadStatus;
    }

    public void setDownloadStatus(Integer downloadStatus) {
        this.downloadStatus = downloadStatus;
    }

    public Long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Long updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getDataStatus() {
        return dataStatus;
    }

    public void setDataStatus(Integer dataStatus) {
        this.dataStatus = dataStatus;
    }

    public String getDownloadFailReason() {
        return downloadFailReason;
    }

    public void setDownloadFailReason(String downloadFailReason) {
        this.downloadFailReason = downloadFailReason;
    }

    public Long getAllowSuccessPushLatestTime() {
        return allowSuccessPushLatestTime;
    }

    public void setAllowSuccessPushLatestTime(Long allowSuccessPushLatestTime) {
        this.allowSuccessPushLatestTime = allowSuccessPushLatestTime;
    }

    public Integer getPushStatus() {
        return pushStatus;
    }

    public void setPushStatus(Integer pushStatus) {
        this.pushStatus = pushStatus;
    }
}